package com.tsing.mapper;

import com.tsing.pojo.entity.TlDetails;
import com.tsing.pojo.entity.TlPost;
import com.tsing.pojo.entity.TlUser;

import java.util.List;

/**
 * @auth 卢孝宇
 * @date 2023/12/12 10:16
 */
public interface PostDetailsMapper {
    /**
     * 根据帖子id查询评论数据
     * @param postId
     * @return
     */
    List<TlDetails> list(Integer postId);

    /**
     * 根据评论id查询点赞数
     *
     * @param detailsId
     * @return
     */
    Integer likeCount(Long detailsId);

    /**
     * 根据评论的用户id查询用户名和用户头像
     * @param userId
     * @return
     */
    TlUser userById(Long userId);

    /**
     * 查询用户是否点赞该评论
     * @param detailsId
     * @param userId
     * @return
     */
    Boolean flag(Long detailsId, Integer userId);

    /**
     * 帖子评论点赞
     * @param detailsId
     * @param userId
     * @return
     */
    Integer add(Integer detailsId, Integer userId);

    /**
     * 取消帖子评论的点赞
     * @param detailsId
     * @param userId
     * @return
     */
    Integer delete(Integer detailsId, Integer userId);

    /**
     * 在帖子评论表增加对应的点赞数
     *
     * @param detailsId
     */
    Integer likeCountAdd(Integer detailsId);

    /**
     * 在帖子评论表减少对应的点赞数
     * @param detailsId
     * @return
     */
    Integer likeCountDelete(Integer detailsId);

    /**
     * 查询帖子发布人id
     * @param postId
     * @return
     */
    TlPost postInfo(Integer postId);



    /**
     * 删除用户关注记录
     * @param followId
     * @param userId
     * @return
     */
    Boolean deleteFollow(Integer followId, Integer userId);

    /**
     * 增加用户关注记录
     * @param followId
     * @param userId
     * @return
     */
    Boolean addFollow(Integer followId, Integer userId);
}
